ホストマシン上に仮想マシンを作成するには、virt-installコマンドか、virt-managerで作成します。
1. インストール可能な仮想マシンの確認仮想マシンとしてインストール可能なOSを確認するには、
$ osinfo-query os 短縮 ID | 名前 | バージョン | ID ----------------------+----------------------------------------------------+----------+----------------------------------------- almalinux8 | AlmaLinux 8 | 8 | http://almalinux.org/almalinux/8 almalinux9 | AlmaLinux 9 | 9 | http://almalinux.org/almalinux/9 alpinelinux3.10 | Alpine Linux 3.10 | 3.10 | http://alpinelinux.org/alpinelinux/3.10 alpinelinux3.11 | Alpine Linux 3.11 | 3.11 | http://alpinelinux.org/alpinelinux/3.11 alpinelinux3.12 | Alpine Linux 3.12 | 3.12 | http://alpinelinux.org/alpinelinux/3.12 alpinelinux3.13 | Alpine Linux 3.13 | 3.13 | http://alpinelinux.org/alpinelinux/3.13 ・・・ |
virt-installコマンドを使用してインストールするには、
# virt-install \ --name CentOS7SV \ --hvm \ <--- 完全仮想化を指定 --arch x86_64 \ --os-type linux \ --os-variant centos7.0 \ <--- OSの種類を指定 --vcpus 2 \ <--- CPU数を指定 --ram 2048 \ <--- メモリ容量を指定 --disk path=/var/lib/libvirt/images/CentOS7SV.img,format=qcow2,size=50 \ <--- ディスク容量を指定(size=xxGB) --network bridge=br0 \ <--- ブリッジインターフェースを指定 --graphics vnc,keymap=ja \ --noautoconsole \ --location /iso/centos77.iso \ <--- インストール用ISOファイルを指定 --extra-args='console=tty0 console=ttyS0' |
オプション | サブオプション | 説明 | 値 |
--connect | URIでハイパーバイザに接続します。 | qemu:///system | |
--name | 作成するゲストのドメイン | vm-hostname | |
--hvm | 完全に仮想化されたゲストとしてゲストを設定します。 | –paravirtで準仮想化、–containerでコンテナ | |
--accelerate | カーネル加速化機能を使用します。 | ||
--disk | ディスクファイルやサイズ(GB) | ||
path | /var/lib/libvirt/images/vm-hostname.img | ||
size | 10G | ||
device | disk | ||
bus | virtio | ||
format | raw | ||
--vcpus | 仮想マシンのCPU数 | 1 | |
--ram | 仮想マシンのメモリ数(MB) | 2048 | |
--network | ネットワークタイプ指定 | ホストマシンのブリッジに接続したいときは続けて「bridge=ブリッジ名」。virshで作成した仮想NWに接続したい際は続けて「network=NW名」 | |
bridge=br0 | |||
model=virtio | |||
--vnc | --vnc | ||
--keymap | ja | ||
--os-type | linux | 完全な仮想化ゲストのオペレーティング・システム・タイプを設定します。 | 設定可能な値は、windows、unix、otherおよびlinuxです。 |
--os-variant | rhel6 | 完全な仮想化ゲストのオペレーティング・システム・バリアントを設定します | osinfo-query osコマンドで確認した短縮IDを設定 |
--location | 準仮想化ゲストのインストール・ソースを設定します。 | nfs:host:/path、http://host/path、ftp://host/pathなど | |
--noautoconsole | ゲスト・コンソールに自動的に接続しません | ||
--extra-args | 準仮想化ゲストのインストーラに渡される追加の引数です。ksとかnetwork設定が出来る | ||
--pxe | pxebootしたい場合に使用する。 | -–pxe | |
ゲストOSを修正することなく、ハイパーバイザ上で、ゲストOSをそのまま実行できる(ハードウェアをエミュレートする)タイプの仮想化技術。
仮想化環境によって物理的なコンピュータの構成を完全に再現し、ハードウェアで直接動作させるのとまったく同じようにソフトウェアを動作させる方式。
OSなどのソフトウェアからは通常のコンピュータと同じに見えるため、特別な修正や設定などを行う必要はないが、ハードウェアの機能をソフトウェアによって再現しているため、構造が複雑で物理環境より性能が大きく劣化する。
完全仮想化のハードウェアの完全エミュレーションでは十分な性能が出ない場合に、ゲストOSを修正し、ハイパーバイザとゲストOSの連携で性能改善を図るタイプの仮想化技術。擬似仮想化ともいう。修正済みのOSだけがゲストOSとして実行できる。
仮想マシンはコンピュータのハードウェアを完全に再現(エミュレーション)することはせず、その上で動作するOS(ゲストOS)側の機能の一部をそのまま使用する。構造が単純で仮想化環境上のソフトウェアが高速に動作する利点があるが、ゲストOS側にその仮想化環境に対応した追加や修正を行う必要がある。
virtioは、準仮想化ドライバと言われ、仮想I/Oデバイス (ディスク、ネットワーク、サウンド、ディスプレイ、キーボード、マウスなど) の準仮想化ドライバ機能を提供します。
完全仮想化でI/Oデバイスを操作する場合、オーバーヘッドが大きく、処理がどうしても遅くなります。
そのため、I/Oに関わる部分を準仮想化し、処理性能を上げるようにしたものです。
$ virsh list --all Id 名前 状態 ---------------------------------------------------- 1 server1 実行中 - server2 シャットオフ |
# virsh start server2 ドメイン server2 が起動されました |
# virsh shutdown server2 ドメイン server2 はシャットダウン中です |
www.it-shikaku.jp
[Top] | |
[講義目次] | |
[2.04:システムの保守と運用管理] | |
[2.05:仮想化サーバー] | |
[2.05.1 仮想マシンの仕組みとKVM] | |
[2.05.2 仮想マシンの作成と管理] | |
[2.06:コンテナ] | |
[講義検索] | |
[リンク集] |